API

Для начала нужно склонировать репозиторий к себе с помощью команды git clone https://hub.mos.ru/marabus/SHIFT_API_TEST.git. Также должен быть установлен Docker.

Так выглядит наша тестовая БД, все данные берем и сверяем здесь:
USERS_DATA = [
    {"username": "admin", "password": "adminpass", 'salary': 10000, "date_of_promotion": '12.04.23'},
    {"username": "user", "password": "userpass", 'salary': 20000, "date_of_promotion": '20.04.23'},
    {"username": "user1", "password": "user1pass", 'salary': 13000, "date_of_promotion": '12.08.24'}
]

Переходим в директорию SHIFT_API_TEST.

Выполняем команду для сборки образа: 
docker build -t fastapi .

Выполняем команду для запуска контейнера:
docker compose up

У нас запустился локальный сервер и тесты, которые займут чуть больше 40 секунд. Ждем плашки 100%.

Теперь нам понадобится postman.
По адресу http://127.0.0.1:8000/login делаем post запрос, в body выбираем raw и JSON.
В поле вводим, к прмеру, данные первого юзера из БД:
{
  "username": "admin",
  "password": "adminpass"
}
Жмем send и получаем токен в ответе. Копируем его и делаем get запрос по адресу http://127.0.0.1:8000/about_me. Для этого выбираем вкладку Authorization, Type выбираем bearer token и в поле вставляем токен.

Время жизни токена стоит 40 секунд для не очень долгих тестов в начале. Если нужно изменить, это можно сделать в файле main.py в 57 строке.









